/**
 * 封装 axios 请求模块
 */
import axios from "axios"
import store from "@/store/index.js"
import jsonBig from 'json-bigint'

const request = axios.create({
  baseURL: "http://ttapi.research.itcast.cn", // 基础路径

  //处理大数字问题----------------------------------
  // transformResponse 允许自定义原始的响应数据（字符串）
  transformResponse: [function (data) {
    try {
      // 如果转换成功则返回转换的数据结果
      return jsonBig.parse(data)
    } catch (err) {
      // 如果转换失败，则包装为统一数据格式并返回
      return data
    }
  }]
})


//  console.log(store.state.user.token,33333);
//添加请求拦截器
request.interceptors.request.use(function (config) {
    //从congig获取token
    const {
      user
    } = store.state
    if (user && user.token) {
      config.headers.Authorization = 'Bearer ' + user.token
    }
    return config;
  },
  function (error) {
    //请求失败
    return Promise.reject(error);
  })
// 添加响应拦截器
request.interceptors.response.use(function (response) {
  // 对响应数据做点什么
  // console.log(response, 77777);
  return response;
}, function (error) {
  // 对响应错误做点什么
  return Promise.reject(error);
});
export default request
